package pe.gob.inei.sirtod.domain;

import java.io.Serializable;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedNativeQueries;
import javax.persistence.NamedNativeQuery;
import javax.persistence.OneToMany;

@Entity
@NamedNativeQueries({
		@NamedNativeQuery(name = "Departamento.findAllDepartamento", query = "SELECT ID_DEPARTAMENTO, COD_DEPARTAMENTO, "
				+ "DES_DEPARTAMENTO FROM SIDIN_CONSULTA.DEPARTAMENTO WHERE ID_DEPARTAMENTO < 26 AND ID_DEPARTAMENTO <> 0 "
				+ "ORDER BY ID_DEPARTAMENTO", resultClass = Departamento.class),
				
		@NamedNativeQuery(name = "Departamento.findAllCiudad", query = "SELECT ID_DEPARTAMENTO, COD_DEPARTAMENTO, "
				+ "DES_DEPARTAMENTO FROM SIDIN_CONSULTA.DEPARTAMENTO WHERE ID_DEPARTAMENTO >= 26 "
				+ "ORDER BY ID_DEPARTAMENTO, DES_DEPARTAMENTO", resultClass = Departamento.class)
})
@SuppressWarnings("serial")
public class Departamento implements Serializable {

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="ID_DEPARTAMENTO")
	private long idDepartamento;

	@Column(name="COD_DEPARTAMENTO")
	private String codDepartamento;

	@Column(name="DES_DEPARTAMENTO")
	private String desDepartamento;
	
	@OneToMany(mappedBy="departamento")
	private List<Provincia> provincias;

	public long getIdDepartamento() {
		return idDepartamento;
	}

	public void setIdDepartamento(long idDepartamento) {
		this.idDepartamento = idDepartamento;
	}

	public String getCodDepartamento() {
		return codDepartamento;
	}

	public void setCodDepartamento(String codDepartamento) {
		this.codDepartamento = codDepartamento;
	}

	public String getDesDepartamento() {
		return desDepartamento;
	}

	public void setDesDepartamento(String desDepartamento) {
		this.desDepartamento = desDepartamento;
	}

	public List<Provincia> getProvincias() {
		return provincias;
	}

	public void setProvincias(List<Provincia> provincias) {
		this.provincias = provincias;
	}
}